﻿<?php 
				function cargaVarsSess($idfb_usuario, $nombre_usuario){
					
					require("config_bbdd.php");
					if (! mysql_select_db("usersFB",$myconn)){
									echo "<p>Error al conectar a la BBDD en vars compruebaUser.</p>";
									echo mysql_errno($myconn) . ": " . mysql_error($myconn) . "\n";
									exit();
					}
					$sql="SELECT u.* FROM users u
							WHERE u.IDFB='".$idfb_usuario."';";
					$result = mysql_query($sql, $myconn);		
					$row = mysql_fetch_array($result);
					//El usuario no está dado de alta en nuestra BBDD
					if ($row==null){
					//echo "<p>el usuario on FBID: ".$idfb_usuario." y nombre: ".$nombre_usuario.", no esta en la bbdd </p>";
						$sql2="INSERT INTO users (IDFB,Nombre) VALUES ('" .$idfb_usuario. "','" .$nombre_usuario. "');";
						$result2 = mysql_query($sql2, $myconn);
						$idUsuario = mysql_insert_id();
					}
					else{//Está dado de alta
						//Comprobamos que no ha cambiado su nombre en FB. Si lo ha hecho, actualizamos en nuestra BBDD. Todo por no usar $FBme.
						//echo "<p>el usuario on FBID: ".$idfb_usuario." y nombre: ".$nombre_usuario.", Sí esta en la bbdd</p>";
						if ($row["Nombre"]!=$nombre_usuario){
							//echo "<p>Pero antes tenia este otro nombre: ".$row["Nombre"]." y este es su id propio:".$row["ID"]."</p>";
							$sql2="UPDATE users set Nombre='" .$nombre_usuario."' WHERE IDFB='".$idfb_usuario."';";
							$result2 =mysql_query($sql2, $myconn);
						}
						if ($row["IDProvincia"]!=null){
							$_SESSION["provinciaUser"]=$row["IDProvincia"];
						}
						$idUsuario=$row["ID"];
					}
					//echo "actualizando las variables de sesión!";
					$_SESSION["idFBUser"]=$idfb_usuario;
					$_SESSION["idUser"]=$idUsuario;
					$_SESSION["nombreUser"]=$nombre_usuario;
					cargaTemperamento($idUsuario);
				}
				
				function cargaTemperamento($userID){
					if (  (!isset($_SESSION["userGuardian"]))  ||  (!isset($_SESSION["userArtesano"]))  ||  (!isset($_SESSION["userIdealista"]))  ||  (!isset($_SESSION["userRacional"]))  ){
							require("config_bbdd.php");
							if (! mysql_select_db("usersFB",$myconn)){
										echo "<p>Error al conectar a la BBDD en vars userTieneTemperamento.</p>";
										echo mysql_errno($myconn) . ": " . mysql_error($myconn) . "\n";
										exit();
							}
							$sql="SELECT t.* FROM temperamentos t
									WHERE t.IDUser='".$userID."';";
							$result = mysql_query($sql, $myconn);
							$row = mysql_fetch_array($result);
							//El usuario tiene temperamentos
							if ($row!=null){
								$trnk = array_map("ceil", $row);
								$_SESSION["userGuardian"]=$trnk[1];
								$_SESSION["userArtesano"]=$trnk[2];
								$_SESSION["userIdealista"]=$trnk[3];
								$_SESSION["userRacional"]=$trnk[4];
								return true;
							}
							else{ 
								unset($_SESSION["userGuardian"]);
								unset($_SESSION["userArtesano"]);
								unset($_SESSION["userIdealista"]);
								unset($_SESSION["userRacional"]);
								return false;
							}
					}
					else
						return true;
				}

/*function userTieneTemperamento($id_user){
	require("config_bbdd.php");
	if (! mysql_select_db("usersFB",$myconn)){
				echo "<p>Error al conectar a la BBDD en vars userTieneTemperamento.</p>";
				echo mysql_errno($myconn) . ": " . mysql_error($myconn) . "\n";
				exit();
	}
	$sql="SELECT t.* FROM temperamentos t
			WHERE t.IDUser='".$id_user."';";
	$result = mysql_query($sql, $myconn);
	$row = mysql_fetch_array($result);
	//El usuario tiene temperamentos
	if ($row!=null){
	
		$trnk = array_map("ceil", $row);
		$campoActualizar="userGuardian";
		actualizaVarSesion($campoActualizar,$trnk[1]);
		$campoActualizar="userArtesano";
		actualizaVarSesion($campoActualizar,$trnk[2]);
		$campoActualizar="userIdealista";
		actualizaVarSesion($campoActualizar,$trnk[3]);
		$campoActualizar="userRacional";
		actualizaVarSesion($campoActualizar,$trnk[4]);
		return true;
	}
	else return false;
}


function actualizaVarSesion($campoActualizar,$valor){
	$_SESSION[$campoActualizar] = $valor;
}*/

/*$_SESSION["idFBUser"]=100002305026251;
	$_SESSION["idUser"]=15;
	$_SESSION["nombreUser"]="Miguel Sánchez";
	$_SESSION["userGuardian"]=30;
	$_SESSION["userArtesano"]=20;
	$_SESSION["userIdealista"]=25;
	$_SESSION["userRacional"]=25;
	$me['first_name']="Miguel";*/

//comprobamos si estan creadas las vars de sesión.
/*if (!isset($_SESSION["idFBUser"])){
//si no estan creadas, consultamos a la api de facebook para que nos dé los datos necesarios del usuario
	require_once 'configAPI.php';
	if (isset($me)){
		//si nos devuelve los datos necesarios, procedemos a crear las variables de sesión
		cargaVarsSess($me["id"], $me["name"]);
		
	}
	else{
		//si no nos devuelve los datos, mostramos al usuario el formulario para que nos permita acceder a ellos.
		$app_id = "148131101921752";

		$canvas_page = "http://supergaia.fdi.ucm.es:8060/moodvie/";

		$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page);
		echo("<script> top.location.href='" . $auth_url . "'</script>");
	}
}*/





//Con esto, sacado de lo de Lara, parece arreglarse el bucle infinito de entrada.

//comprobamos si estan creadas las vars de sesión.

//si no estan creadas, consultamos a la api de facebook para que nos dé los datos necesarios del usuario
	require_once 'configAPI.php';
	if (isset($me)){
		//si nos devuelve los datos necesarios, procedemos a crear las variables de sesión
		//comprobamos que el usuario sea el mismo que tenemos cargado en las variables de sesión
		if (isset($_SESSION["idFBUser"])){
			if ($_SESSION["idFBUser"]!=$me["id"]){
				//echo "idfbuser es distinto de meid";
				//Unset de las vars de sesión
				unset($_SESSION["userGuardian"]);
				unset($_SESSION["userArtesano"]);
				unset($_SESSION["userIdealista"]);
				unset($_SESSION["userRacional"]);
				unset($_SESSION["idFBUser"]);
				unset($_SESSION["idUser"]);
				unset($_SESSION["nombreUser"]);
				unset($_SESSION["provinciaUser"]);
				//fin del unset
				cargaVarsSess($me["id"], $me["name"]);
			}//este else sería que las vars de sesion guardadas son las mías. Entonces no hay que hacer nada	
		}
		else{//no hay ninguna variable de sesion cargada
			cargaVarsSess($me["id"], $me["name"]);
		}
		/*if (!isset($_SESSION["idFBUser"]))
			cargaVarsSess($me["id"], $me["name"]);	*/
		//print_r($session);
		//publicaTablon($session["uid"], $session["access_token"],"holaaa mundooo", "esto debería ser un título", "aaa.crrr/aaa/", "desc? qué desc ni qué desc!", "hhh", "ggg", "fff"  );
		//$facebook->stream_publish("yahay",$me["id"]);
	}
	else{
		unset($_SESSION);
		$loginUrl = $facebook->getLoginUrl(array( 

  				'canvas'    => 1,

        	    'fbconnect' => 0,

        	    //'req_perms' => 'email,publish_stream,status_update,user_birthday, user_location,user_work_history',
        	    'req_perms' => 'publish_stream,status_update',

            	'next' => $fbconfig['appBaseUrl'] . 'index.php',

				'cancel_url' => $fbconfig['appBaseUrl']));

		//echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
		echo "<script type='text/javascript'>top.location.href = 'http://apps.facebook.com/moodvie/intro.php';</script>";
	}





/*require_once 'configAPI.php';

if(!$me){
	
	//damos la opción de logearnos y comprobamos los permisos necesarios para usar la aplicación

	 $loginUrl = $facebook->getLoginUrl(array( 

  				'canvas'    => 1,

        	    'fbconnect' => 0,

        	    'req_perms' => 'email,publish_stream,status_update,user_birthday, user_location,user_work_history',

            	'next' => $fbconfig['appBaseUrl'] . 'principal.php',

				'cancel_url' => $fbconfig['appBaseUrl']));

		echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";	
}
else{ // si hemos iniciado sesión

	$logoutUrl = $facebook->getLogoutUrl();
	?>

   <script language=javascript>

     location.href="principal.php";

   </script>
   <?php }?>

<?php*/ /*if(!$me){ //si aún no hemos iniciado sesión

	 //damos la opción de logearnos y comprobamos los permisos necesarios para usar la aplicación

	 $loginUrl = $facebook->getLoginUrl(array( 

  				'canvas'    => 1,

        	    'fbconnect' => 0,

        	    'req_perms' => 'email,publish_stream,status_update,user_birthday, user_location,user_work_history',

            	'next' => $fbconfig['appBaseUrl'] . 'principal.php',

				'cancel_url' => $fbconfig['appBaseUrl']));

		echo $loginUrl;	 

		//echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";

       

}else{ // si hemos iniciado sesión

	$logoutUrl = $facebook->getLogoutUrl();



	?>

	

   <script language=javascript>

     location.href="principal.php";

   </script>

<?php }?>*/




?>